A remote desktop is a popular technology in a current enterprise office environment and is often used to transfer content displayed on a computer screen to another computer screen for display. Generally, a more commonly used remote login program is the Windows® (an operating system) remote login program (mstsc.exe), and the remote login program allows login to another computer from a local computer.
Currently, most remote desktop systems transfer a remote desktop based on an Internet protocol (IP) network. The remote desktop not only refers to a remote screen display, but may also refer to technologies such as remote sound transfer and pluggable hardware mapping. The remote desktop may also be referred to as a virtual desktop. In a virtual desktop scenario, at least one server and at least one client exist, and a client may log in to the server by using virtual desktop client software installed on the client.
During login to a remote desktop, three-dimensional software, such as auto computer aided design software (AutoCAD®), 3Ds Max® (three-dimensional animation rendering and production software based on a personal computer (PC) system, and Pro/E® (three-dimensional graphics software), that performs graphics operation depending on a graphics processing unit (GPU) may be used. When the software runs on a virtual machine, a GPU virtualization technology may be used to enable multiple virtual machines to share one physical graphics card to perform graphics operation, so that efficiency of utilizing a hardware resource can be improved.
When a GPU is used to process an image in remote login, an approach in the prior art is:
As shown in FIG. 1, a desktop image of a virtual machine may be acquired by using an image capture interface of Direct3D (D3D), which is a display program interface. In such a technology, a two-dimensional (2D) instruction (“Two-dimensional instruction” in FIG. 1) acquired from the virtual machine needs to be reconstructed into a D3D instruction, and the D3D instruction and another three-dimensional (3D) instruction (“Three-dimensional instruction” in FIG. 1) are placed together in a GPU (“Graphics processing unit” in FIG. 1) by using the D3D interface to perform rendering. After the rendering is completed, the image capture interface (“Image capture” in FIG. 1) provided by the D3D is used to acquire a rendering result.
A disadvantage of the solution is that the solution increases complexity of reconstructing a 2D instruction into a D3D instruction, and also increases an additional GPU load.